Conventional network hardware and software may be used to support data transfers between an originating host network node and a destination target network node over one or more designated data channels. The host network node may represent a host system/host processor/host server (denoted host) on which a variety of applications or services are provided. The host typically connects to the network via a dedicated hardware network interface adapter, which is typically referred to as a host channel adapter (HCA). The host channel adapter (HCA) may be used to provide an interface between the host network node and the switched network via high speed data links. Similarly, destination target channel adapters (TCA) may be used to provide an interface between the multi-stage switched network and an I/O controller (e.g., storage and networking devices) of either a second network or a target I/O unit via high speed data links.
Conventional HCA-based systems typically dedicate one HCA for each host node data channel. In most cases, the HCA is resident in the host system. Although it would be beneficial to aggregate multiple HCA devices in a single system separate from the host, the hardware requirements for such a multi channel HCA system would be substantial. In fact, it would be extremely difficult to embody a useful quantity of multiple HCA devices on a single logic device using current semiconductor technology.
Further, there are several different data transport protocols that an HCA should be able to support. For example, conventional protocols such as Infiniband, iWarp, and SCTP are commonly available. However, conventional HCA-based systems are typically designed and configured to support only one type of transport protocol.
Thus, a multiple context single logic virtual host channel adapter supporting multiple transport protocols is needed.